Transacting Pointer-based Accesses in an Object-based Software Transactional Memory System

نویسندگان

  • David Detlefs
  • Lingli Zhang
چکیده

Software transactional memory (STM) systems for objectoriented languages that allow relocating garbage collection (such as languages for the .NET platform, or Java) must decide how transactional metadata (i.e., fine-grained locks) is associated with objects. An obvious approach is to locate this metadata with the object, and move it when the object is moved. This approach becomes complicated if the platform allows interior pointers to heap objects, as .NET does: how do we find the transactional metadata that governs an access via an interior pointer? We present an approach that solves this problem via a combination of static and dynamic information. The most important goal of this solution is that it be pay-for-play: that programs that do not use transactions are impacted as little as possible.

برای دانلود رایگان متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

منابع مشابه

A Section Based Program Analysis to Reduce Overhead of Detecting Unsynchronized Thread Communication

Most systems that test and verify parallel programs, such as deterministic execution engines, data race detectors and software transactional memory systems, require instrumenting loads and stores in an application. This can cause a very significant runtime and memory overhead compared to executing uninstrumented code. Multithreaded programming typically allows any thread to perform loads and st...

متن کامل

FastLane: Software Transactional Memory Optimized for Low Numbers of Threads

Software transactional memory (STM) can lead to scalable implementations of concurrent programs, as the relative performance of an application increases with the number of threads that support it. However, the absolute performance is typically impaired by the overheads of transaction management and instrumented accesses to shared memory. This often leads a STM-based program with a low thread co...

متن کامل

Verification of Transactional Memories that Support Non-Transactional Memory Accesses

A major challenge of Transactional memory implementations is dealing with memory accesses that occur outside of transactions. In previous work we showed how to specify transactional memory in terms of admissible interchanges of transaction operations, and gave proof rules for showing that an implementation satisfies its specification. However, we did not capture non-transactional memory accesse...

متن کامل

Lightweight Identification of Captured Memory for Software Transactional Memory

Software Transactional Memory (STM) implementations typically instrument each memory access within transactions with a call to an STM barrier to ensure the correctness of the transactions. Compared to simple memory accesses, STMbarriers are complex operations that add significant overhead to transactions doing many memory accesses. Thus, whereas STMs have shown good results for micro-benchmarks...

متن کامل

Mechanisms and interfaces for software-extended coherent shared memory

Software-extended systems use a combination of hardware and software to implement shared memory on large-scale multiprocessors. Hardware mechanisms accelerate common-case accesses, while software handles exceptional events. In order to provide fast memory access, this design strategy requires appropriate hardware mechanisms including caches, location-independent addressing, limited directories,...

متن کامل

ذخیره در منابع من


  با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید

عنوان ژورنال:

دوره   شماره 

صفحات  -

تاریخ انتشار 2009